package com.bsj.sipgateway.web.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.bsj.power.common.config.global.JsonResult;
import com.bsj.power.common.def.dto.FaultDTO;
import com.bsj.power.common.def.dto.FaultLogDTO;
import com.bsj.power.common.def.dto.video.FaultRecordDTO;
import com.bsj.power.common.def.entity.DeviceDuration;
import com.bsj.power.common.def.entity.Fault;
import com.bsj.power.common.def.entity.FaultLog;
import com.bsj.power.common.def.vo.DeviceDurationVO;
import com.bsj.power.common.def.vo.FaultVO;

import java.util.List;

/**
 * @Description
 * @Author zhaoyang
 * @Date 2024/7/3 15:10
 */
public interface IFaultService {

    boolean add(FaultDTO faultDTO);

    boolean deleteById(Integer id);

    boolean update(FaultDTO faultDTO);

    JsonResult findFaultList(FaultRecordDTO faultRecordDTO);

    List<FaultVO> faultListExport(FaultRecordDTO faultRecordDTO);

    List<DeviceDurationVO> selectDeviceDurationByTime(String beginTime, String endTime);

    List<Fault> selectByTypeAndTime(String beginTime, String endTime, Integer type);

    JsonResult jobNumList(String jobNum);

    JsonResult sceneDeviceFaultStatistics(String beginTime, String endTime);


    IPage<FaultLog> pageFaultLogList(FaultLogDTO faultLogDTO);
}
